from django import forms

from Z.models import Classes, Label


class ArticleForms(forms.Form):
    title = forms.CharField(
        label='标题',
        max_length=30,
        min_length=2,
        error_messages={
            'min_length': '长度小于2',
            'max_length': '长度大于30'
        }
    )
    desc = forms.CharField(
        label='文章简介',
        max_length=150,
        min_length=15,
        error_messages={
            'min_length': '长度小于15',
            'max_length': '长度大于150'
        }
    )
    content = forms.CharField(  # cotent 文章内容
        label='内容',
        widget=forms.Textarea  # widget 声明表单控件 文本类型
    )

    cover = forms.FileField(
        label='封面图'
    )
    # 分类让用户选择
    classes = forms.ModelChoiceField(
        label='分类',
        queryset=Classes.objects.all(),  # 所有分类豆皮要让用户看到
        empty_label=None,
    )
    # 多对多  ModelChoiceField 是 Django 表单中的一种字段类型，3
    #       常用于生成一个下拉菜单，供用户选择一个特定的模型对象。
    label = forms.ModelMultipleChoiceField(
        label='标签',
        queryset=Label.objects.all()
    )
